// router/index.js
const modules = import.meta.glob('../pages/**/a.vue'); // 动态导入所有 a.vue 文件
let routes = [];

for (const [key, value] of Object.entries(modules)) {
  const filePath = key.replace('../pages/', '').replace('/a.vue', '');

  // 把 a.vue 的 icon 从模块里读取
  let icon;
  try {
    const { default: component } = await value(); // 预加载组件以读取 icon
    icon = component.icon; // 假设 a.vue 导出了一个默认对象，其中包含 icon 属性
  } catch (error) {
    console.error(`Error importing ${key}:`, error);
    continue; // 如果导入失败，跳过
  }

  // 定义路由
  const route = {
    path: `/${filePath.replace(/\//g, '/')}`, // 替换 `/` 为 `-`
    component: value,
    icon: icon || null, // 如果没有 icon，则为 null
    title: filePath.split('/').pop(), // 使用文件夹名作为标题
    children: [] // 这里不处理子路由
  };

  routes.push(route);
}

// 最终的路由配置
routes = [
  {
    path: '/',
    component: () => import('layouts/Layout.vue'),
    children: routes
  }
];

export default routes;
